package social.hub.impl.jersey;

import social.hub.SocialHubFactory;
import social.hub.api.ApiConfig;
import social.hub.api.facebook.FacebookApi;
import social.hub.api.google.buzz.BuzzApi;
import social.hub.api.google.orkut.OrkutApi;
import social.hub.api.linkedin.LinkedInApi;
import social.hub.api.twitter.TwitterApi;
import social.hub.impl.jersey.api.JerseyBuzzApi;
import social.hub.impl.jersey.api.JerseyFacebookApi;
import social.hub.impl.jersey.api.JerseyLinkedInApi;
import social.hub.impl.jersey.api.JerseyOrkutApi;
import social.hub.impl.jersey.api.JerseyTwitterApi;
import social.hub.impl.jersey.oauth.JerseyOAuthProvider;
import social.hub.oauth.OAuthConfig;
import social.hub.oauth.OAuthProvider;

public class JerseySocialHubFactory implements SocialHubFactory {

	@Override
	public BuzzApi getBuzzApi(ApiConfig config) {
		return new JerseyBuzzApi(config);
	}

	@Override
	public FacebookApi getFacebookApi(String accessToken) {
		return new JerseyFacebookApi(accessToken);
	}

	@Override
	public LinkedInApi getLinkedInApi(ApiConfig config) {
		return new JerseyLinkedInApi(config);
	}

	@Override
	public OrkutApi getOrkutApi(ApiConfig config) {
		return new JerseyOrkutApi(config);
	}

	@Override
	public OAuthProvider getProvider(OAuthConfig config) {
		return new JerseyOAuthProvider(config);
	}

	@Override
	public TwitterApi getTwitterApi(ApiConfig config) {
		return new JerseyTwitterApi(config);
	}

}
